package com.corpgovernment.travelstandard.entity.db;

import com.corpgovernment.common.annotation.OperateLogFieldDesc;
import com.corpgovernment.common.entity.db.BaseEntity;
import com.corpgovernment.common.enums.DeleteStatusEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.Alias;

import javax.persistence.Column;
import javax.persistence.Table;
import javax.persistence.Transient;


/**
 * 城市配置表
 **/
@EqualsAndHashCode(callSuper = true)
@Data
@Alias("travelStandardCityConfig")
@Table(name = "mb_travelstand_hotel_city")
public class TravelStandardCityConfig extends BaseEntity {

    /**
     * 区域id
     **/
    @OperateLogFieldDesc(value = "区域id")
    @Column(name = "area_id")
    private Long areaId;

    /**
     * 城市编码
     **/
    @OperateLogFieldDesc(value = "城市编码")
    @Column(name = "city_code")
    private String cityCode;

    /**
     * 城市名称
     **/
    @OperateLogFieldDesc(value = "城市名称")
    @Column(name = "city_name")
    private String cityName;

    /**
     * 拼音
     **/
    @OperateLogFieldDesc(value = "拼音")
    @Column(name = "city_name_en")
    private String cityNameEn;

    /**
     * 小写全拼
     */
    @OperateLogFieldDesc(value = "小写全拼")
    @Column(name = "city_pinyin")
    private String cityPinyin;

    /**
     * 拼音缩写
     */
    @OperateLogFieldDesc(value = "拼音缩写")
    @Column(name = "city_abbreviation")
    private String cityAbbreviation;

    /**
     * 是否删除
     **/
    @OperateLogFieldDesc(value = "是否删除", type = DeleteStatusEnum.class)
    @Column(name = "status")
    private Integer status;

    /**
     * 区域类型
     */
    @Transient
    private String areaType;

    /**
     * 组织id
     */
    @Transient
    private String orgId;

    @OperateLogFieldDesc(value = "国家编码")
    @Column(name = "country_code")
    private String countryCode;

    @OperateLogFieldDesc(value = "国家名称")
    @Column(name = "country_name")
    private String countryName;

    @OperateLogFieldDesc(value = "国家首字母")
    @Column(name = "country_name_en")
    private String countryNameEn;

    @OperateLogFieldDesc(value = "国家全拼")
    @Column(name = "country_pinyin")
    private String countryPinyin;

    @OperateLogFieldDesc(value = "国家缩写")
    @Column(name = "country_abbreviation")
    private String countryAbbreviation;
}
